來複習一下C++的規則:需要告訴電腦這是什麼類別的資料。
跟Python和JS中最大的不同,除了variable要加前輟表示資料型態ing age;
,function跟parameter也需要。
這篇假設大家已經有基本觀念知道function是什麼。
關於C++ function是什麼及其用法,容我引用此詳盡的解說請點我
簡而言之,就是一種被點名到才會執行的code。
(main()裡面每行程式碼都會從上而下run過,而function獨立在main外面)*
如Day02資料型態所提到的,C++有不同的data type資料型態。
除了variable要加前輟表示資料型態,例如:
ing age;
,function跟parameter也需要
function也是,所以要想一下輸入進去的值的data type是什麼,最後回傳的會是什麼data type。
如果有回傳值return value:
string function_name(string a ,string b)
,int function_name(int a, int b)
double function_name(double a, int b)
,整數和小數運算可能會出現小數點,所以可以這樣用。float function_name(float a, float b)
回傳值return type就是function輸出的東西
如果沒有回傳值return value,可以使用void:
void function_name()
關於回傳值、參數parameter是什麼明天會聊到。
如一開頭說過的,function需要被呼叫才會執行,C++中呼叫法跟JSㄧ樣:
int main(){
function_name();
}
在C++中,假如想輸出數字,function_name之前也要加上想輸出的資料種類,想輸出數字就是加上int,如以下範例:
int number_sum(int a, int b){
return a + b; // return = 5 + 7
}
int main(){
number(5, 7);
}
return:12
如果想做一個cout <<
到console的function也要用int嗎?還是用string呢?
都不是,要用void。
void call_hello(){
std::cout << "Hello world.";
}
int main(){
call_hello();
}
console顯示: Hello world.
這是指沒有return,是沒有“傳回數值”的意思。
注意:void並不是一種資料型態,因為他表示一種根本不存在的東西。
Reference: Geeksforgeeks, cplusplus, https://learn.microsoft.com/zh-tw/cpp/cpp/functions-cpp?view=msvc-170